草庐IT

javascript window.open 从回调

全部标签

javascript - 不能使用 String#trim 作为 Array#map 的回调

出于某种原因,我不能使用String.prototype.trim.call作为数组方法的回调,例如map或filter.在这种情况下,两个函数工作相同:functiontrim(string){returnstring.trim();}varstring='A';trim(string);//'A'String.prototype.trim.call(string);//'A'但是,当我尝试将它们作为数组方法的回调传递时,第二个失败了:vararray=['A','B','C'];array.map(trim);//['A','B','C'];array.map(String.pro

javascript - 从回调内部访问对象字面量属性(异步方法)

我正在编写一个需要与书签子树交互的chrome扩展。这个子树有很多交互,所以我将这个逻辑抽象成一个对象字面量,如下所示:varcontextStore={'root_id':undefined,'setup':function(){...},//populatesroot_id'add':function(name){...},//usesroot_id'remove':function(name){...},//usesroot_id//...etc...};contextStore.setup();//onlyonce.contextStore.add("foo");context

javascript - Kefir.js - 如何从回调函数流式传输事件?

Mousetrap.js库允许您将回调函数绑定(bind)到键,如下所示:Mousetrap.bind('space',function,'keydown');在不使用BusofDoom的情况下将流附加到此的最佳方法是什么??我应该使用emitter还是pool?我正试图在这个fiddle中连接箭头键:jsfiddle.net/vzafq25w 最佳答案 您可以使用通用包装器streamvarleftKeys=Kefir.stream(function(emitter){Mousetrap.bind('left',function(

javascript - .ajaxStop 回调函数被多次执行

我正在使用jQuery,但我的问题是即使我在.ajaxStop回调函数中使用“page+=1”,我的page变量也被递增了几次,因为它在第一次执行后被执行了不止一次它被使用了。我将该变量用作传递给FlickrAPI的参数,以获取特定页面的数据。发生的事情是第一次调用该函数时,回调函数被执行一次。然后我从“更多”按钮调用相同的函数以获得下一组结果但是这次函数被调用两次,下一次被调用三次,依此类推......这意味着我可以获得第1页,2、4、7、11等...我调用的AJAX函数基本上是.getJSON函数和一些在其回调方法[insidegetPhotos(id)]中调用的额外.getJSO

javascript - 如何向 javascript 方法添加多个回调?

我使用“函数”技术创建了一个简单的javascript类。在类里面,我有一个websocket监听器,它在收到特定消息时触发一个函数。我可以很容易地向它添加一个外部回调,如下所示functionMyClass(){self=this;//toaccessmainobjectfrommethods//websocketdefinitionfunctionwebsocketMessageInterpreter(message){if(message=="Hello!")onHelloMessageBase();}functiononHelloMessageBase(param){//cal

javascript - 如何使用 `window.open` 显示模态弹出窗口?

我目前正在使用window.showModalDilog打开一个不允许父窗口执行任何操作的模态弹出窗口。但通过谷歌搜索,我发现这不是标准方法,各种浏览器已停止支持该功能。事实上,我在Opera中遇到了这个问题。Opera给我一个Javascript错误并在那时停止执行。该错误后不会发生任何事情。所以,我只剩下一个选择了,那就是window.open。但我想禁用父窗口(同样在showModalDilog中)。我尝试了以下代码:$(window).load(function(){window.opener.document.body.disabled=true;});$(window).u

Javascript window.open 在 Win7 x64 上的 32 位 IE8 中返回 null

我已经阅读了有关此主题的相关问题,但尚未找到解决此问题的方法。我有一个简单的javascript函数,它在单击链接时调用window.open:varnewwindow;functionpop(url){newwindow=window.open(url,'','height=500,width=532');if(window.focus){newwindow.focus();}}这在Chrome、Firefox上工作正常,甚至在64位IE8上工作。但是,当我在32位IE8上尝试这个时,我得到一个错误,提示'newwindow'为空或不是对象.关于为什么这只会发生在32位IE8中的任何

javascript - jquery 改变事件回调

如何在change()事件完成后调用一次函数?例如,像这样:(我知道jQuery默认没有回调方法)$('#element').change(function(){//dosomethingonchange//$('#milestonesSelect').multiselect({minWidth:120,height:'200px',selectedList:4}).multiselectfilter();//someanimationcalls...//...},function(){//dosomethingaftercompletealert('anothercodeshasco

javascript - chrome 选项卡/窗口中的 window.open 行为

我有一小部分javascript用于打开两个或更多选项卡。这在FF和IE中工作正常,但chrome在新窗口而不是选项卡中打开第二个。它不依赖于url,因为我已经用两个相同的url尝试过。第一个在选项卡中打开,第二个在新窗口中打开。这是我的代码片段:for(vari=0;i 最佳答案 只有在用户生成操作时,Chrome才会在新标签页中自动打开URL,每次用户操作仅限于一个标签页。在任何其他情况下,该URL将在新窗口中打开(顺便说一下,Chrome默认情况下会阻止该窗口)。window.open必须在由用户操作(例如onclick)触发

javascript - 在 JavaScript 事件回调中绑定(bind) "this"的正确方法?

我创建了一个名为SearchBox的类来处理搜索交互(延迟触发、按回车键搜索、在搜索处于事件状态时阻止搜索、在搜索完成和文本更改时同步结果等)。所有类方法都是原型(prototype)方法,意味着可以通过this访问。在下面的代码中,假设p是类的原型(prototype)。p.registerListeners=function(){$(this.element).on('keypress',this.searchKeyPressed);};p.unregisterListeners=function(){$(this.element).off('keypress',this.sear